package utils

import (
	"crypto/rand"
	"encoding/base64"
	"regexp"
)

// GenerateRandomString 生成随机字符串
func GenerateRandomString(length int) string {
	// 创建一个字节切片用于存储随机数据
	byteSlice := make([]byte, length)

	// 使用加密安全的随机数填充字节切片
	_, err := rand.Read(byteSlice)
	if err != nil {
		return ""
	}

	// 使用base64编码将字节切片转换为字符串
	return base64.URLEncoding.EncodeToString(byteSlice)
}

// CheckPhone 检查手机号是否合法
func CheckPhone(phone string) bool {
	if len(phone) != 11 {
		return false
	}
	regRuler := "^1[345789]{1}\\d{9}$"
	reg := regexp.MustCompile(regRuler)
	return reg.MatchString(phone)
}
